package com.bd.scm.domain.models.standardReports;


import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author Mason
 * @since 2020-06-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("bd_kq_ot_settle")
public class BdKqOtSettle extends Model<BdKqOtSettle> {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long id;
    /**
     * 员工ID
     */
    @TableId("user_serial")
    private Long userSerial;
    /**
     * 员工姓名
     */
    @TableField("user_name")
    private String userName;
    /**
     * 部门ID
     */
    @TableField("user_dept")
    private Long userDept;
    /**
     * 年份
     */
    @TableField("settle_year")
    private Integer settleYear;
    /**
     * 月份
     */
    @TableField("settle_month")
    private Integer settleMonth;
    /**
     * 截止上月未结算-平时加班
     */
    @TableField("prev_month_ordinary")
    private Integer prevMonthOrdinary;
    /**
     * 截止上月未结算-双休加班
     */
    @TableField("prev_month_weekend")
    private Integer prevMonthWeekend;
    /**
     * 截止上月未结算-欠工
     */
    @TableField("prev_month_owe")
    private Integer prevMonthOwe;
    /**
     * 当月实际-平时加班
     */
    @TableField("cur_month_ordinary")
    private Integer curMonthOrdinary;
    /**
     * 当月实际-双休加班
     */
    @TableField("cur_month_weekend")
    private Integer curMonthWeekend;
    /**
     * 当月实际-节假日加班
     */
    @TableField("cur_month_statutory")
    private Integer curMonthStatutory;
    /**
     * 当月实际-放班
     */
    @TableField("cur_month_fangban")
    private Integer curMonthFangban;
    /**
     * 当月实际-调休
     */
    @TableField("cur_month_rest")
    private Integer curMonthRest;
    /**
     * 当月实际-事假
     */
    @TableField("cur_month_leave")
    private Integer curMonthLeave;
    /**
     * 当月实际-欠工
     */
    @TableField("cur_month_owe")
    private Integer curMonthOwe;
    /**
     * 当月抵扣后-平时加班
     */
    @TableField("cur_month_deduction_ordinary")
    private Integer curMonthDeductionOrdinary;
    /**
     * 当月抵扣后-双休加班
     */
    @TableField("cur_month_deduction_weekend")
    private Integer curMonthDeductionWeekend;
    /**
     * 截止上月抵扣后结余-平时加班
     */
    @TableField("prev_month_deduction_ordinary")
    private Integer prevMonthDeductionOrdinary;
    /**
     * 截止上月抵扣后结余-双休加班
     */
    @TableField("prev_month_deduction_weekend")
    private Integer prevMonthDeductionWeekend;
    /**
     * 结算当月加班工资-平时加班
     */
    @TableField("cur_month_settle_ordinary")
    private Integer curMonthSettleOrdinary;
    /**
     * 结算当月加班工资-双休加班
     */
    @TableField("cur_month_settle_weekend")
    private Integer curMonthSettleWeekend;
    /**
     * 转存工-平时加班
     */
    @TableField("cur_month_save_ordinary")
    private Integer curMonthSaveOrdinary;
    /**
     * 转存工-双休加班
     */
    @TableField("cur_month_save_weekend")
    private Integer curMonthSaveWeekend;
    /**
     * 结算截止上月加班工资-平时加班
     */
    @TableField("prev_month_settle_ordinary")
    private Integer prevMonthSettleOrdinary;
    /**
     * 结算截止上月加班工资-双休加班
     */
    @TableField("prev_month_settle_weekend")
    private Integer prevMonthSettleWeekend;
    /**
     * 截止上月结余-平时加班
     */
    @TableField("prev_month_save_ordinary")
    private Integer prevMonthSaveOrdinary;
    /**
     * 截止上月结余-双休加班
     */
    @TableField("prev_month_save_weekend")
    private Integer prevMonthSaveWeekend;
    /**
     * 截止本月结余-平时加班
     */
    @TableField("cur_month_result_ordinary")
    private Integer curMonthResultOrdinary;
    /**
     * 截止本月结余-双休加班
     */
    @TableField("cur_month_result_weekend")
    private Integer curMonthResultWeekend;
    @TableField("prev_month_result_owe")
    private Integer prevMonthResultOwe;
    /**
     *  结算类型 0:值结算  1：百分比结算
   2：数值结算
     */
    @TableField("settle_type")
    private Integer settleType;
    /**
     * 当月-结算比例/值
     */
    @TableField("settle_value")
    private Double settleValue;
    /**
     * 当月-存工比例/值
     */
    @TableField("save_value")
    private Double saveValue;
    /**
     * 截止上月-结算比例/值
     */
    @TableField("prev_settle_value")
    private Double prevSettleValue;
    /**
     * 截止上月-存工比例/值
     */
    @TableField("prev_save_value")
    private Double prevSaveValue;
    /**
     * 操作人
     */
    private Long operateId;
    /**
     * 操作时间
     */
    private Date operateTime;


    @Override
    protected Serializable pkVal() {
        return this.userSerial;
    }

}
